#ifndef VSqlNavigator_H
#define VSqlNavigator_H

#include "VSqlTableView.h"
#include "VSqlListView.h"

///////////////////////////////////////////////////////////////////////////////
class VSqlMetaView;
///////////////////////////////////////////////////////////////////////////////

class VSqlNavigator : public VAbstractView
{
	Q_OBJECT
	
public:
	VSqlNavigator(const QString &name,VSqlMetaModel *metaModel,QWidget *parent = 0);
	~VSqlNavigator();
		
public:
	virtual void activate();
	virtual void deactivate();	
	
public:
	virtual QList<QMenu*> menu() const;
	virtual QList<QToolBar*> toolbar() const;

	VSqlMetaModel *metaModel() { return m_metaModel;}
	
private slots:	
	void metaViewRowChanged(const QModelIndex &index);
	void addTable();

private:
	void newActions();
	void deleteActions();
	void checkActions();

	QToolBar *m_toolBar;
	QList<QToolBar*> m_toolBars;
	QList<QMenu*> m_menus;
	QAction *m_addTable;

	VSqlMetaModel *m_metaModel;
	QStackedWidget *m_stackedWidget;
	QFrame *m_frame;
	VSqlMetaView *m_metaView;
	VSqlTableView *m_tableView;
	VSqlListView *m_listView;
	QSplitter *m_hSplitter;
};

///////////////////////////////////////////////////////////////////////////////

#endif
